package com.hopu.oa.service.notemanage;

import com.hopu.oa.entity.management.AoaStatusList;
import com.hopu.oa.entity.management.AoaTypeList;

import com.hopu.oa.entity.notemanage.AoaCatalog;
import com.hopu.oa.entity.notemanage.AoaNoteList;
import com.hopu.oa.entity.notemanage.AoaReceiverNote;
import com.hopu.oa.entity.plan.AttachmentList;
import com.hopu.oa.entity.user.AoaDept;
import com.hopu.oa.entity.user.AoaPosition;
import com.hopu.oa.entity.user.AoaUser;

import java.util.List;

public interface NoteService {

    List<AoaCatalog> selectByUserId(Integer userId);

    List<AoaTypeList> selectByTypeModel(String typeModel);

    List<AoaStatusList> selectByStatusModel(String statusModel);

    List<AoaNoteList> selectAllAndPage(Integer userId, String baseKey, Integer index, Integer size);

    AoaNoteList selectByPrimaryKey(Integer noteId);

    /**
     * 查找附件
     *
     * @param id
     * @return
     */
    AttachmentList selectByAttachmentId(Integer id);

    /**
     * 笔记通讯录
     *
     * @param baseKey
     * @param index
     * @param size
     * @return
     */
    List<AoaUser> selectByAndPage(String baseKey, Integer index, Integer size);

    List<AoaDept> selectByAllDept();

    List<AoaPosition> selectByAllPosition();

    AoaCatalog selectByCatalogName(String name, Integer userId);

    AoaTypeList selectByTypeName(String name);

    AoaStatusList selectByStatusName(String name);

    /**
     * 新增
     *
     * @param record
     * @return
     */
    int insertSelective(AoaNoteList record);

    AoaUser selectByUserName(String name);

    int insert(AoaReceiverNote aoaReceiverNote);


}
